//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.restaurant.application.configsignin.support;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import java.util.List;

public class ConfigSignInData implements PickableBean {
    public static final String FN_ID = "id";
    public static final String FN_SIGNINSCORE = "signInScore";
    public static final String FN_CREATETIME = "createTime";
    public static final String FN_MODIFYTIME = "modifyTime";
    public static final List<String> FIELD_NAMES = Lists.newArrayList(new String[]{"id", "signInScore", "createTime", "modifyTime"});
    private String id;
    private Long signInScore;
    private Long createTime;
    private Long modifyTime;

    public ConfigSignInData(String id, Long signInScore, Long createTime, Long modifyTime) {
        this.setId(id);
        this.setSignInScore(signInScore);
        this.setCreateTime(createTime);
        this.setModifyTime(modifyTime);
    }

    public ConfigSignInData() {
    }

    public ConfigSignInData duplicate() {
        ConfigSignInData result = new ConfigSignInData();
        result.id = this.id;
        result.signInScore = this.signInScore;
        result.createTime = this.createTime;
        result.modifyTime = this.modifyTime;
        return result;
    }

    public String toString() {
        return Convert.toJson(this);
    }

    public String getId() {
        return this.id;
    }

    public void setId(String value) {
        this.id = value;
    }

    public ConfigSignInData withId(String value) {
        this.setId(value);
        return this;
    }

    public ConfigSignInData withId(String value, String defaultValue) {
        this.setId(value == null ? defaultValue : value);
        return this;
    }

    public Long getSignInScore() {
        return this.signInScore;
    }

    public void setSignInScore(Long value) {
        this.signInScore = value;
    }

    public ConfigSignInData withSignInScore(Long value) {
        this.setSignInScore(value);
        return this;
    }

    public ConfigSignInData withSignInScore(Long value, Long defaultValue) {
        this.setSignInScore(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Long value) {
        this.createTime = value;
    }

    public ConfigSignInData withCreateTime(Long value) {
        this.setCreateTime(value);
        return this;
    }

    public ConfigSignInData withCreateTime(Long value, Long defaultValue) {
        this.setCreateTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTime() {
        return this.modifyTime;
    }

    public void setModifyTime(Long value) {
        this.modifyTime = value;
    }

    public ConfigSignInData withModifyTime(Long value) {
        this.setModifyTime(value);
        return this;
    }

    public ConfigSignInData withModifyTime(Long value, Long defaultValue) {
        this.setModifyTime(value == null ? defaultValue : value);
        return this;
    }

    public Object getValueOf(String name) {
        byte var3 = -1;
        switch(name.hashCode()) {
            case 3355:
                if (name.equals("id")) {
                    var3 = 0;
                }
                break;
            case 893512688:
                if (name.equals("signInScore")) {
                    var3 = 1;
                }
                break;
            case 1211388583:
                if (name.equals("modifyTime")) {
                    var3 = 3;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var3 = 2;
                }
        }

        switch(var3) {
            case 0:
                return this.getId();
            case 1:
                return this.getSignInScore();
            case 2:
                return this.getCreateTime();
            case 3:
                return this.getModifyTime();
            default:
                return null;
        }
    }

    public void setValueOf(String name, Object value) {
        byte var4 = -1;
        switch(name.hashCode()) {
            case 3355:
                if (name.equals("id")) {
                    var4 = 0;
                }
                break;
            case 893512688:
                if (name.equals("signInScore")) {
                    var4 = 1;
                }
                break;
            case 1211388583:
                if (name.equals("modifyTime")) {
                    var4 = 3;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var4 = 2;
                }
        }

        switch(var4) {
            case 0:
                this.setId((String)value);
                return;
            case 1:
                this.setSignInScore((Long)value);
                return;
            case 2:
                this.setCreateTime((Long)value);
                return;
            case 3:
                this.setModifyTime((Long)value);
                return;
            default:
        }
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    public int hashCode() {
        return this.signature().hashCode();
    }

    public boolean equals(Object o) {
        return !(o instanceof ConfigSignInData) ? false : this.signature().equals(((ConfigSignInData)o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean ConfigSignInData has no signature defined, no hash code or equals possible.");
    }
}
